- by Oleg Ivanchenko
I have got an error:
SQLSTATE[HY000]: General error: 1364 Field 'XXXX' doesn't have a default value
Happened with MySQL 5.7.12, Mac OS X 10.11.5. MySQL installed from a package from mysql.com.
The obvious solution does not work: adding default value into SQL code (default '') generates another error for a TEXT field:
SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'XXXX' can't have a default value
Thus I had to update MySQL settings. The default MySQL strict mode has to be disabled.
In my case there were no /etc/my.cnf file. The default settings were in /usr/local/mysql/support-files/my-default.cnf. I added /etc/my.cnf with the following code in it:
[mysqld]<br>sql_mode=NO_ENGINE_SUBSTITUTION
And of course MySQL should be restarted :-) Look here for more details.
It solved the problem.
- by Oleg Ivanchenko
How to start/stop/restart MySQL in Mac OS X? Very easy!
sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
Note: This is a persistent setting which means that MySQL will automatically start on the next OS X start.
sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server restart
Quite easy :-)